package com.graph.base;

import java.util.List;
import java.util.Set;

public interface CommunityFinder {
    public Set<VertexInterface> findCommunityByVertices(String ver)throws Exception;

    /**
     * 社区发现
     * @return
     * @throws Exception
     */
    public List<Set<VertexInterface>> findAllCommunity() throws Exception;
    public List<VertexInterface> getBoundaryVertices() throws Exception;

    /**
     * 相似矩阵初始化
     * @return
     * @throws Exception
     */
    public int[][] initMatrix() throws Exception;

    /**
     * 归一化互信息
     * @return
     */
    public double getNMI();

    /**
     * 得到社区划分的准确率
     * @return
     */
    public double getPrecision();

    /**
     * 得到社区划分的召回率
     * @return
     */
    public double getRecall();

    /**
     * 得到社区划分的F1指标
     * @return
     */
    public double getF1();
}
